<!DOCTYPE HTML>
<html lang="en">
<head>
  <meta name="copyright" content=
  "Copyright (c) IBM Corporation and others 2014, 2019. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.">
  <meta charset="utf-8">
  <link rel="STYLESHEET" href="../book.css" type="text/css">
  <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"></script>
  <title>UI Responsiveness Monitoring</title>
</head>
<body>
  <h1>UI Responsiveness Monitoring</h1>
  <p>Sometimes you may encounter a long pause when the GUI does not redraw or respond to typing or mouse actions.
  Determining causes of such a UI freeze in most cases requires capturing stack traces of Eclipse threads. In case you
  are experiencing UI freezes and want to report the problem to the correct Eclipse project, you can enable <strong>UI
  Responsiveness Monitoring</strong>, which will automatically detect UI freezes, capture stack traces, and write
  warning or error messages containing the collected information to the Eclipse error log.</p>
  <p>The <a class="command-link" href=
  'javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.ui.monitoring.page)")'><img src="PLUGINS_ROOT/org.eclipse.help/command_link.svg"
  alt="command link"> <strong>General &gt; UI Responsiveness Monitoring</strong></a> preference page allows you to
  enable automatic detection of UI freezes and to modify parameters affecting freeze detection and logging.</p>
  <p>UI freezes longer than the warning threshold value entered in the preference page are logged to the Eclipse error
  log as warnings. The logged messages include one or more stack traces of the UI thread. Longer UI freezes are logged
  as errors and include stack traces of all threads. Please keep in mind that capturing stack traces of all threads
  involves extra overhead, so setting the error threshold below 1 second is not recommended.</p>
  <p>A UI freeze is logged at the end of the freeze or after the deadlock threshold has expired, whichever comes first.
  The latter condition facilitates logging of indefinite UI freezes caused by deadlocks. If Eclipse becomes completely
  unresponsive don't kill it until the deadlock threshold expires. The message containing stack traces of all threads
  will be written to the Eclipse error log.</p>
  <p>Logging of UI freezes is affected by two filters. One filter is used to avoid logging of UI freezes matching a
  specific pattern. A UI freeze is ignored if a stack trace of the UI thread contains at least one stack frame matching
  the filter. Another filter is used to avoid logging of non-UI threads with trivial stacks. The stack of a non-UI
  thread is not included in the logged message if all its stack frames match the filter. To add a stack frame to a
  filter, click the corresponding <strong>Add Filter...</strong> button and type the fully qualified method name of a
  stack frame to use as a filter.</p>
  <p>Please file bugs for the UI freezes you encounter, describe what you were doing at the time and include the
  messages and the stack traces from the error log related to the freezes. This way the corresponding Eclipse project
  can work on the UI freeze and improve your user experience with Eclipse.</p>
</body>
</html>
